Pular para o conteúdo principal

Primeiros passos

Esta página te leva do zero à sua primeira chamada de API bem-sucedida em menos de cinco minutos.

1. URL base

Todas as requisições são enviadas para o Woofed CRM cloud (ou para sua instância self-hosted):

https://app.woofedcrm.com

Se você está usando self-hosting do Woofed CRM, substitua este host pelo seu próprio domínio (ex.: https://crm.suaempresa.com). A estrutura de path (/api/v1/accounts/{account_id}/...) é idêntica nos dois casos.

2. ID da conta

Cada endpoint é escopado para uma conta, então a URL sempre contém seu account ID:

/api/v1/accounts/{account_id}/<resource>

Você pode encontrar seu account_id na URL do dashboard do Woofed CRM, logo após /app/. Para a maioria das instalações, a primeira conta é 1.

3. Autenticação, em uma linha

Toda requisição precisa carregar um Bearer Token no cabeçalho Authorization:

Authorization: Bearer SEU_TOKEN_AQUI

Se você ainda não tem um token, siga o pequeno guia Obter Token primeiro. Os detalhes completos de segurança ficam em Autenticação.

4. Sua primeira requisição

Vamos buscar um único contato (assumindo que existe um contato com id 1 na conta 1):

curl -X GET "https://app.woofedcrm.com/api/v1/accounts/1/contacts/1" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SEU_TOKEN_AQUI"

A mesma chamada em JavaScript:

const res = await fetch(
"https://app.woofedcrm.com/api/v1/accounts/1/contacts/1",
{
headers: {
"Content-Type": "application/json",
Authorization: "Bearer SEU_TOKEN_AQUI",
},
}
);

const contact = await res.json();
console.log(contact);

Uma resposta bem-sucedida é um JSON simples descrevendo o contato:

{
"id": 1,
"full_name": "Tim Maia",
"phone": "+5541996910256",
"email": "tim@maia.com",
"custom_attributes": {
"city": "RJ"
},
"label_list": ["label1", "label2"],
"created_at": "2025-01-12T18:21:03Z",
"updated_at": "2025-01-12T18:21:03Z"
}

Pronto — você está conversando com o Woofed CRM.

5. Ferramentas recomendadas

Durante o desenvolvimento, as ferramentas a seguir economizam muito tempo:

  • Postman — a coleção oficial do Woofed CRM no Postman já vem com todos os endpoints pré-configurados. Basta definir as variáveis de coleção endpoint, account_id e token.
  • curl — perfeito para scripts, debugging e para colar nesta documentação.
  • HTTPie — sintaxe mais amigável que o curl: http GET https://app.woofedcrm.com/... "Authorization: Bearer …".
  • Browser DevTools — a aba Network mostra exatamente o que seu frontend está enviando, caso você esteja integrando a partir de uma SPA.

6. Anatomia de uma resposta

A maioria das respostas segue a mesma estrutura geral:

{
"id": 42,
"name": "Lead site: Rubel",
"status": "open",
"stage_id": 1,
"contact_id": 1,
"custom_attributes": { "source": "Website" },
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-01-15T10:30:00Z"
}

Pontos-chave:

  • id — todo registro tem um ID numérico, escopado pela conta. Use-o para se referir ao registro em requisições subsequentes (GET /deals/42, PUT /deals/42, …).
  • Timestampscreated_at e updated_at estão no formato ISO 8601, em UTC.
  • custom_attributes — um objeto JSON livre. Use-o para campos que não existem como colunas nativas (source, cpf, priority, …).
  • HTTP status code2xx para sucesso, 4xx para erros do cliente, 5xx para erros do servidor. A lista completa fica em Estrutura da API → Status codes.

Próximos passos

Você já tem tudo o que precisa para fazer qualquer chamada desta documentação funcionar. Continue por: